using System;
using System.Runtime.Remoting.Metadata.W3cXsd2001;
using JetBrains.Annotations;
using RoboContainer.Infection;

namespace TimeMachine.Engine.Vcs
{
	[IgnoredPluggable]
    public class DetailedCommitInfo : CommitInfo
	{
		public DetailedCommitInfo([NotNull] string author, [NotNull] string message, int revision, DateTime date,
		                          [NotNull] params FileChangeInfo[] changes)
			: base(author, message, revision, date)
		{
			Changes = changes;
		}

		public DetailedCommitInfo([NotNull] string author, [NotNull] string message, [NotNull] string revision,
		                          [NotNull] string date, [NotNull] params FileChangeInfo[] changes)
			: this(author, message, int.Parse(revision), SoapDateTime.Parse(date).ToLocalTime(), changes)
		{
		}

		[NotNull]
		public FileChangeInfo[] Changes { get; private set; }
	}
}